<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Title</title>
  </head>
  <body>
    <script>
      //https://leetcode-cn.com/problems/maximum-subarray/

      /*    给定一个整数数组 nums ，找到一个具有最大和的连续子数组（子数组最少包含一个元素），返回其最大和。

      示例:

          输入: [-2,1,-3,4,-1,2,1,-5,4]
          输出: 6
          解释: 连续子数组 [4,-1,2,1] 的和最大，为 6。
      进阶:

按照如下顺序将力扣题目做完，相信会帮助你对**动态规划之子序列问题**有一个深刻的理解。

300.最长递增子序列
674.最长连续递增序列
718.最长重复子数组
1143.最长公共子序列
1035.不相交的线
53.最大子序和
392.判断子序列
115.不同的子序列
583.两个字符串的删除操作
72.编辑距离
为了绝杀编辑距离，我做了三步铺垫，你都知道么？
647.回文子串
516.最长回文子序列
动态规划总结篇
------------



      */

      //  贪心 -2 1 -1 6
      const arr = [-2, 1, -3, 4, -1, 2, 1, -5, 4];
      const arr1 = [-2, 4, -3, 5];
      function MaxSumSubarray(arr) {
        let pre = arr[0];
        let res = arr[0];
        for (let i = 1; i < arr.length; i++) {
          pre = Math.max(arr[i], arr[i] + pre);
          res = Math.max(pre, res);
        }
        return res;
      }
      console.log(MaxSumSubarray(arr1));
    </script>
  </body>
</html>
